#include <vector>
const int N = 1 << 30;
void fill_random_data(double *x, int N)
{
}
int main()
{
    std::vector<double> input(N);
    fill_random_data(input.data(), N);
    unsigned short num4[16] = {0};
    for (int i = 0; i < N; ++i){
        unsigned long num = *(unsigned long *)(&input[i]);
        for (int j = 0; j < 16; ++j){
            num4[j] |= (1u << ((num >> (60 - j * 4)) & 15));
        }
    }
}